招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 试题答案 - 正文

2004年全国计算机等级考试三级C语言全真上机试题解析

来源:招生考试网 2005-11-18 10:26:22

第1题: 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。替代关系:f(p)=p*11 mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。
void encryptChar()
{int i;
char *pf;
for(i=0;i{pf=xx;
while(*pf!=0)
{if(*pf==*pf/2*2||*pf*11%256xx[k])
{ch=xx[j];
xx[j]=xx[k];
xx[k]=ch;}
for(j=half-1,k=strl-1;j>=0;j--,k--)
{ch=xx[j];
xx[j]=xx[k];
xx[k]=ch;}}
注:先采用冒泡法对左边部分进行升序排序,然后将排序后的左半与右半按对应位进行调换。

第3题:
已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出千位数上的数加百位数等于十位数上的数加个位数上的数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。例如:7153,7+1=5+3,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。8129,8+12+9,则该数不满足条件计算平均值pjz2.
jsvalue()
{
int i,g,s,b,q,k=0;
for(i=0;i0;j--)
{xx[j]>>=4;
xx[j]+=xx[j-1];}
xx[0]+=ch;}}
注:在该题中主要是控制好每一个字符的走动,由于最后要用到原来的最后一个字符故先将其存入一个字符变量中。

第9题:
现有一个10个人100行的选票数据文件IN.DAT,其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符0和1,1表示此人被选中,0表示此人未被选中,若一张选票人数小于等于5个人时被认为无效的选票。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy[0]到yy[9]中。
void countrs(void)
{int i,j,count;
for(i=0;i=2;i--)
{s1=(s1+m-1)%i;
if(s1==0)
s1=i;
w=p[s1-1];
for(j=s1;jp[j-1]=p[j];
p[i-1]=w;}}
题中第一个for()循环是先对数组p赋初值。在第二个for()中用i来控制没出圈的总人数,s1=(s1+m-1)%i的作用是找出报数后出圈人的下标,其中对i求余的作用是使报
数按圈进行(即报到尾后又从头报),该算法在很多题目中都用到。由于求余的作用当报数正好到最后一个时s1为0,故而要进行if(s1==0)的判断。内嵌的for()循环是将出圈以后的人依次往前移


  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号